访问电脑版页面

导航:老古开发网手机版51单片机51单片机汇编编程

51单片机对交通灯的控制设计

导读:
关键字:
交通灯,51单片机,

用的是51系列的单片机,说一下,MARK标志位其关键作用。

下面是仿真图

51单片机对交通灯的控制设计

LED0 EQU P1

LED2 EQU P2

LED1 EQU P0

MARK BIT 00H

MARK1 BIT 01H

TIME EQU 30H;时间缓冲区

SHI EQU 31H ;时长数据缓冲区!

KEY EQU P3.2

KEY1 EQU P3.3

CTH EQU (65536-50000)/256

CTL EQU (65536-50000) MOD 256

ORG 0000H

JMP START

ORG 0003H

JMP INT_0

ORG 000BH

JMP TIME0

ORG 0030H

START: MOV P1,#00H

MOV P0,#0FFH

MOV P2,#0FFH

MOV DPTR,#ABC

MOV SP,#5FH

MOV SHI,#20

MOV R0,SHI

MOV R7,#20

CLR MARK

CLR MARK1

MOV TMOD,#01H

MOV TH0,#CTH;初始指针

MOV TL0,#CTL

SETB EA

SETB IT0

SETB EX0

SETB ET0

SETB TR0

MOV TIME,R0

CALL DISPLAY

MAIN: MOV LED0,#21H;北,红灯亮

CJNE R0,#3,MAIN

MOV SHI,#04

NEXT: MOV R6,#3

A1: MOV LED0,#01H

CALL DELAY_500MS

MOV LED0,#21H

CALL DELAY_500MS

DJNZ R6,A1

S1: JBC MARK,A2

SJMP S1

A2: MOV LED0,#11H; BEI HUANG DENG LIANG

MOV SHI,#20

JBC MARK,MAIN1

SJMP A2

MAIN1: MOV LED0,#0CH ;XI HONG DENG LIANG

CJNE R0,#3,MAIN1

MOV SHI,#04

NEXT1: MOV R6,#3

A3: MOV LED0,#08H

CALL DELAY_500MS

MOV LED0,#0CH

CALL DELAY_500MS

DJNZ R6,A3

S2: JBC MARK,A4

SJMP S2

A4: MOV LED0,#0AH

MOV SHI,#20

JBC MARK,MAIN

SJMP A4

DELAY_500MS:

MOV R5,#20

K1: MOV R4,#50

K2: MOV R3,#250

DJNZ R3,$

DJNZ R4,K2

DJNZ R5,K1

RET

DISPLAY:MOV A,TIME

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV LED2,A

MOV A,B

MOVC A,@A+DPTR

MOV LED1,A

RET

ABC: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

INT_0: PUSH ACC

PUSH PSW

SETB RS1

SETB RS0

MOV R5,#70

K4: MOV R4,#250

DJNZ R4,$

DJNZ R5,K4

JB KEY,ITT_2

MOV TIME,#20

CALL DISPLAY

ITT_1: MOV LED0,#00010010B

CALL DELAY_500MS

MOV LED0,#00H

JNB KEY,ITT_2

CALL DELAY_500MS

JB KEY,ITT_1

ITT_2: JNB KEY ,$

POP PSW

POP ACC

RETI

TIME0: PUSH ACC

PUSH PSW

MOV TH0,#CTH;初始指针

MOV TL0,#CTL

DJNZ R7,TIME1

MOV R7,#20

DJNZ R0,TIME2

SETB MARK

MOV R0,SHI

TIME2: MOV TIME,R0

CALL DISPLAY

TIME1: POP PSW

POP ACC

RETI

END

来源:工程师周亮   作者:lhl545545  2019/4/23 15:37:00
栏目: [ 51单片机汇编编程]

相关阅读

在 KEIL C51 中如何直接嵌入汇编

在C51中如何实现汇编的DA A指令?

#pragma asm是什么意思?

51单片机对交通灯的控制设计

请问怎样用89C51采集多路脉冲信号?

CRC16-STANDARD的快速算法,51汇编

双字节十六进制小数转换成双字节BCD码小数

MCS-51单片机汇编伪指令的用法解析

MCS-51单片机实用子程序库

C51单片机的压缩BCD码相加程序

汇编中的ORG 0X0000H 在C51中如何实现

51单片机汇编语言-延时程序的延时时间

MCS-51单片机布尔处理功能解析

16位数据传送指令(1条)——mcs51单片机汇编语言

MCS-51单片机地址指针的应用

MCS-51单片机实用子程序库--浮点数除法

MSC-51单片机的3字节和4字节浮点数计算程序分析

使用汇编,中断响应后RETI返回后没有回到原处,而是回到另外一处,如何解决

单片机双机并行通信中所遇问题

51单片机的汇编语言指令中英文对照